Stepper motors are well known in the art and are used in a wide variety of devices, including printers, disk drives, and other devices requiring precise positioning of an element. Stepper motors provide many advantages over other types of motors, most notably the ability to rotate through controlled angles of rotation, called steps, based on command pulses from a driver circuit. The accuracy of the stepped motion produced by a stepper motor is generally very good, since there is not a cumulative error from one step to another. The ability to incrementally rotate a shaft through a defined number of fixed steps enables stepper motors to be used with open-loop control schemes (i.e., applications in which a position feedback device such as an optical encoder or resolver is unnecessary), thereby simplifying the motion control system and reducing costs.
The speed of stepping motors can be readily controlled based on the pulse frequency employed, enabling stepping motors to achieve very low speed synchronous movement of a load that is directly coupled to the drive shaft of the motor. Furthermore, stepper motors are reliable, since they do not include contact brushes that can wear out. Typically, the only parts in a stepper motor susceptible to wear are the motor bearings.
There are three basic types of stepper motor, including a variable-reluctance (VR), a permanent magnet (PM), and a hybrid (HB). A VR stepper motor comprises a soft iron multi-toothed rotor and a wound stator. When the stator windings (also commonly referred to as the motor "coils") are energized with a DC current, a magnetic flux is produced at the poles of the stator. Rotation occurs when the rotor teeth are magnetically attracted to the energized stator poles. PM stepper motors have permanent magnets added to the motor structure. The rotor no longer has teeth, as in the VR motor. Instead, the rotor includes permanent magnets with the alternating north and south poles disposed in a straight line, parallel to the rotor shaft. These magnetized rotor poles provide an increased magnetic flux intensity, resulting in improved torque characteristics when compared with VR stepper motors.
An HB stepper motor is more expensive than a PM stepper motor, but provides better performance with respect to step resolution, torque and speed. Typical step angles for the HB stepper motor range from 3.6.degree. to 0.9.degree. (100-400 steps per revolution). The HB stepper motor combines the best features of both the PM and VR type stepper motors; its rotor is multi-toothed, like the VR motor, and includes an axially magnetized concentric magnet around its shaft. The teeth on the rotor provide an even better flux path, which helps guide the magnetic flux to preferred locations in the air gap between the rotor and the stator teeth. This configuration further increases the detent, holding, and dynamic torque characteristics of the HB stepper motor, when compared with both the VR and PM stepper motors.
Stepper motors generally have two phases, but three, four and five-phase motors also exist. FIG. 1 shows a typical two-phase motor, comprising a stator A and a stator B, each of which produce a magnetic flux with opposite poles at end faces 300 when a respective phase A winding 302 and phase B winding 304 are energized with an electric current. The direction of the magnetic flux is determinable by applying the "right-hand rule." In FIG. 1, a current I.sub.B flows through the phase B windings, creating a magnetic flux in stator B, as indicated by the direction of the arrows. This flux produces a torque applied to the rotor, causing the rotor to turn so that the magnetic field produced by the poles in the rotor are aligned with the magnetic field produced by stators A and B. In this case, the rotor will rotate clockwise so that its south pole aligns with the north pole of stator B at a position 2, and its north pole aligns with the south pole of stator B at a position 6. To continually rotate the rotor, current is applied to the phase A and phase B windings in a predetermined sequence, producing a rotating magnetic flux field.
The output torque of the motor drive shaft is proportional to the intensity of the magnetic flux generated when the winding is energized. The basic relationship determining the intensity of the magnetic flux is defined by: EQU H=(N.times.i).div.l (1)
where N is the number of winding turns, i is the current, H is the magnetic field intensity, and l is the magnetic flux path length. This relationship shows that the magnetic flux intensity, and consequently the torque, is proportional to the number of turns in the winding and the current, and is inversely proportional to the length of the magnetic flux path. In addition, stepper motors that include permanent magnets produce a built-in "detent" torque. This detent torque results from the magnetic flux generated by the permanent magnets, and is what produces the "cogging" effect that is felt when turning a PM or HB stepper motor that is not energized.
As shown in FIGS. 2A and 3A, a unipolar motor has one winding with a center tap per phase (two phase motors), or four windings with one winding per phase, typically sharing a common tap. (Some unipolar stepper motors are genuine four-phase motors, while other unipolar stepper motors are erroneously referred to as four-phase motors, even though they have only two phases.) Unipolar motors typically have either five or six leads. In comparison, as shown in FIGS. 2B and 3B, a bipolar motor generally comprises two phases, wherein each phase has a corresponding winding. Bipolar motors typically have four leads. Motors that have two separate windings per phase also exist and can be driven in either bipolar or unipolar mode.
A pole can be defined as a region on a magnetized body where the magnetic flux density is concentrated. Both the rotor and the stator of a stepper motor have poles. FIGS. 1, 2A, and 2B show simplified motors for illustrative purposes, while in reality, several more poles are normally included in both the rotor and stator structure in order to increase the number of steps per revolution of the motor (i.e., decrease the step angle). A PM stepper motor contains an equal number of rotor and stator pole pairs. Typically, the PM stepper motor has 12 pole pairs, and the stator has 12 pole pairs per phase. An HB stepper motor has a rotor with teeth that is split into two parts, separated by a permanent magnet, making half of the teeth south poles and half north poles. The number of pole pairs is equal to the number of teeth on one of the rotor halves. The stator of an HB motor also has teeth that increase the number of equivalent poles (i.e., smaller pole pitch, since the number of equivalent poles equals 360/teeth pitch) compared to the main poles, on which the winding coils are wound. Usually four main poles are used for 3.6.degree. hybrid stepper motors and eight main poles are used for 1.8.degree. and 0.9.degree. stepper motors.
It is the relationship between the number of rotor poles and the equivalent stator poles, and the number of phases that determine the full-step angle of a stepper motor: EQU Step angle=360.div.(N.sub.Ph.times.Ph)=360/N (2)
where N.sub.Ph is the number of equivalent poles per phase or the number of rotor poles, Ph is the number of phases, and N is the total number of poles for all phases.
There are four drive modes that are typically used to move and position stepper motors, including the wave drive (one phase on), full-step drive (two phases on), half-step drive (one and two phases on), and microstepping (continuously varying phase currents). The following discussion of these various drive modes references FIGS. 2A and 2B, and FIGS. 3A and 3B.
FIG. 3A shows a typical six-wire unipolar drive circuit. In order to drive a unipolar stepper motor, it is necessary to energize the windings of the motor in a predetermined sequence. This object can be accomplished through the use of four switches 50, 52, 54, and 56 (e.g., field effect transistor switches), each of which is connected to ground at one terminal, and to a respective winding at the other terminal. A positive supply voltage is provided at common or center taps 58 and 60. Current can be caused to flow through windings corresponding to motor phases A, A, B and B by respectively closing switches 50, 52, 54, and 56, each of which provides a path to ground through its corresponding winding. When current flows through the windings, a magnetic field is generated based on the right-hand rule, which causes the rotor to rotate so that it is aligned with the magnetic field generated by stators A and B.
A somewhat more complicated scheme is used for driving a bipolar motor. As shown in FIG. 3B, a typical bipolar drive circuit comprises a pair of H-bridge circuits, one for each winding. Each of the H-bridge circuits comprises four switches 62, 64, 66, and 68. The branches at the top of the bridges are connected to a positive supply voltage, while the branches at the bottom of the bridges are connected to ground. By selectively closing the H-bridge switches, current can be caused to flow through windings 70 and 72 in a desired direction, thereby producing motor phases A, A, B and B. For example, to produce a current flow in winding 70 from right to left (i.e., motor phase A), switches 64 and 66 are closed, while switches 62 and 68 are left open.
In a wave drive for a stepper motor, only one winding is energized at any given time. The windings on the stators are energized according to the sequence A.fwdarw.B.fwdarw.A.fwdarw.B, causing the rotor to step through positions 8.fwdarw.2.fwdarw.4.fwdarw.6. For unipolar and bipolar wound motors with the same winding parameters, this excitation mode will result in the same mechanical position. The disadvantage of this drive mode is that in a unipolar wound motor, only 25% of the total motor winding is used at any given time, and in a bipolar motor, only 50% of the total motor winding is used. Thus, the maximum potential torque output of the motor is not realized.
In a full-step drive, two phases are energized at any given time. The windings on the stators are energized according to the sequence AB.fwdarw.AB.fwdarw.AB.fwdarw.AB, causing the rotor to step through positions 1.fwdarw.3.fwdarw.5.fwdarw.7. When using the full-step mode, the angular movement will be the same as was discussed above for a wave drive mode, but the mechanical position is offset by one-half step. The torque output of a unipolar wound motor when using full-stepping is less than a bipolar motor (for motors with the same winding parameters), since the unipolar motor uses only 50% of the available winding, while the bipolar motor uses the entire winding. However, the unipolar motor requires only half as much energy as the bipolar motor.
The half-step drive mode combines both wave and full-step (one and two phases on) drive modes. As shown below in TABLE 1, the number of phases that are energized alternates between one and two phases during every other step. The windings on the stators are energized according to the sequence AB.fwdarw.B.fwdarw.AB.fwdarw.A.fwdarw.AB.fwdarw.B.fwdarw.AB.fwdarw.A, causing the rotor to step through positions 1.fwdarw.2.fwdarw.3.fwdarw.4.fwdarw.5.fwdarw.6.fwdarw.7.fwdarw.8. The resulting angular movements are half of those discussed above for wave and full-step drive modes. Half-stepping can reduce a phenomena referred to as resonance, which sometimes occurs when using the wave or full-step drive modes.
TABLE 1 Normal Full Wave Drive Step Drive Half-step Drive Phase 1 2 3 4 1 2 3 4 1 2 3 4 5 6 7 8 A .circle-solid. .circle-solid. .circle-solid. .circle-solid. .circle-solid. .circle-solid. B .circle-solid. .circle-solid. .circle-solid. .circle-solid. .circle-solid. .circle-solid. A .circle-solid. .circle-solid. .circle-solid. .circle-solid. .circle-solid. .circle-solid. B .circle-solid. .circle-solid. .circle-solid. .circle-solid. .circle-solid. .circle-solid.
In a microstepping drive, the currents in the windings are continuously varied to divide one full step into many smaller discrete steps. Microstepping generally produces smoother movements of the drive shaft, with less torque ripple and resonance. Unfortunately, microstepping also requires control circuitry that is much more sophisticated (and costly) than the control circuits that are commonly used for the full and half-step drive modes.
The torque vs. angle characteristics of a stepper motor are dependent on the relationship between the displacement of the rotor and the torque, which is applied to the rotor shaft when the stepper motor is energized at its rated voltage. An ideal stepper motor has a sinusoidal torque vs. angular displacement characteristic as shown in FIG. 4A.
Positions A and C in FIG. 4A represent stable equilibrium points when no external force or load is applied to the rotor shaft. When an external force T.sub.A is applied to the motor shaft, it produces an angular displacement, .theta..sub.A, which is referred to as a lead or lag angle depending on whether the motor is actively accelerating or decelerating. When the rotor stops with an applied load, it will come to rest at the position defined by this displacement angle. The motor develops a magnetic torque, T.sub.A, in opposition to the applied external force in order to balance the load. As the load is increased, the displacement angle also increases until it reaches the maximum holding torque, T.sub.H, of the motor. Once T.sub.H is exceeded, the motor enters an unstable region. In this region, a torque in the opposite direction is created, and the rotor jumps over the unstable point to the next stable point. This instability can cause the motor rotor to oscillate when it moves between adjacent steps.
The displacement angle is determined by the following relationship: EQU .theta.=(p.div.2.pi.).cndot.sin.sup.-1 (T.sub.l.div.T.sub.h), or T.sub.l =T.sub.h sin(2.pi..theta./p) (3)
where, .theta. is the displacement angle, p is the rotor tooth pitch, T.sub.l is the load torque, and T.sub.h is the motor's rated holding torque.
FIG. 4B illustrates the relationship between torque vs. rotor angle when the holding torque of a motor is varied. It is clear that a system with a high torque/load ratio will be stable. Unfortunately, considerations such as motor weight and volume, available drive current, motor cost, etc., usually dictate that the torque/load ratio for a stepper motor system intended for a given application remain relatively low.
The performance of a stepper motor system (drive and motor) is also highly dependent on the mechanical parameters of the load being moved by the motor. The load is typically a combination of frictional and inertial loads. A frictional load generally comprises two components, a static frictional load component and a dynamic frictional load component. The static frictional load is a resistance to motion that exists when the motor is not moving. The dynamic frictional load is generally proportional to the velocity of the motor. A minimum torque level is required throughout a step to overcome the frictional load. Increasing a frictional load decreases the top speed, reduces the acceleration, and increases the positional error of the motor.
Inertia is a resistance to a change in rotational velocity. A high inertia load requires a high inertial starting torque, and also requires a high braking torque. Increasing the inertial load increase speed stability, increases the amount of time it takes to reach a desired speed, and decreases the maximum self-start pulse rate, as discussed below.
Rotor oscillations in a given stepper motor will depend on the particular friction and inertial loads that are present. Because of this relationship, unwanted rotor oscillations can be reduced by mechanical damping; however, it is often simpler to reduce these oscillations by applying electrical damping, such as by using half-step or microstepping drive modes.
A generalized torque vs. speed curve for a typical stepper motor is shown in FIG. 5. The torque vs. speed characteristic for a given stepper motor system will depend on the characteristics of the motor, the excitation mode, and type of drive or drive method. Several standard aspects of the speed-torque curve are referenced in the Figure. The holding torque is the maximum torque produced by the stepper motor when it is at rest. The area defined between the axes and the pull-in torque curve is referred to as the start/stop region. This curve defines the maximum frequency (i.e., steps per second) at which a motor can start (or stop) instantaneously, without loss of synchronism. The maximum start rate is the maximum no-load frequency. The area between the pull-in torque curve and the pull-out curve is referred to as the slew region. This region defines the maximum frequency at which the motor can operate without losing synchronism once it is moving. The maximum slew rate is the maximum operating no-load frequency.
The pull-in characteristics also vary with the load. The larger the load inertia, the smaller the pull-in area. It can be observed from the shape of the curve that the step rate affects the torque output capability of a stepper motor. The decrease in torque output as the speed increases is caused by the fact that at high speeds, the inductance of the motor begins to dominate the impedance of the phase windings, which decreases the current in the phase windings, thereby decreasing the magnetic flux (and torque) produced by the motor.
A typical rotor angle vs. time response to a single-step command input is shown in FIG. 6. When a single step pulse is applied to a stepper motor, the rotor starts to rotate to the next stepped position, through the angle .theta. for one step. The value t is the time it takes for the motor shaft to rotate through this angle. This step time is highly dependent on the ratios of torque to inertia (load), as well as the type of driver used.
Since the torque is a function of the displacement, it follows that the acceleration will also be a function of displacement. Therefore, when moving in large step increments, a high torque is developed, and consequently, a high acceleration results. The acceleration (and related rotational inertia) causes the motor to rotate past or overshoot the desired step angle, resulting in a decaying oscillation (commonly referred to as ringing), as shown in the Figure. The settling time, T, is the time required for these oscillations to cease.
This oscillation or ringing often creates problems in stepper motor applications. The overshoot and decaying oscillation results in wasted energy, and is especially noticeable when stepping the motor at low speeds. In addition, the ringing often produces an audible noise, which may be objectionable in certain environments. Furthermore, the ringing is often coupled into the load, which may result in undesired load vibrations.
An example of a device in which stepper motor overshoot and ringing is undesirable is shown schematically in FIG. 7. The device is a cassette infusion pump, which is used for infusing medicinal fluid into a patient's body at very precise flow rates, and further details of the device are disclosed in a co-pending, commonly assigned application, Ser. No. 09/464,812, filed Dec. 17, 1999, entitled "Method for Compensating for Pressure Differences Across Valves in Cassette Type IV Pump" the disclosure and drawings of which are hereby specifically incorporated herein by reference. (Note that the cassette infusion pump described in this co-pending application is a multi-channel pump, but a similar single channel pump is shown in FIG. 7 for illustrative purposes). A source 12 of medicinal fluid is coupled in fluid communication with a proximal end 16 of a cassette 15. The flow of medicinal fluid into the cassette is selectively controlled by a supply valve 20. After entering a passage in the cassette, the medicinal fluid flows through an air sensor 22 and into a mixing chamber 26. A proximal (or inlet) pressure sensor 24 is disposed adjacent to mixing chamber 26. The medicinal fluid exits the mixing chamber through an inlet valve 28, when the inlet valve is in its open position, and flows into a pumping chamber 30.
One side of chamber 30 is covered with an elastomeric membrane 29. Medicinal fluid is forced from pumping chamber 30 (when inlet valve 28 is closed and an outlet valve 32 is opened), as a plunger 42 acts on the elastomeric membrane, forcing the elastomeric membrane into the chamber to displace the fluid contained therein. This plunger action is facilitated by positioning a linear drive mechanism, e.g., a lead screw or ball screw (not shown) with a 3.6.degree. stepper motor 19. In one embodiment of the cassette pump, the plunger position is variable from -489 steps to +220 steps, where a home position is nominally defined to be at 0 steps. A nominal stroke distance for plunger 42 to deliver 333 .mu.l of fluid is +169 steps.
When outlet valve 32 is in its open position, the medicinal fluid forced from the chamber flows past a distal pressure sensor 34, through a distal air sensor 36, and exits the cassette through a tube set, through which it is conveyed to a patient 40. The infusion pump also includes a control unit 17 for the stepper motor. Control unit 17 preferably includes a microprocessor, a memory, and a motor driver (not separately shown in this Figure), which enable execution of a control algorithm for controlling the operation of the infusion pump to deliver the medicinal fluid as desired. The microprocessor controls the stepper motor to control the plunger position, and the plunger forces fluid from chamber 30.
In FIG. 7, plunger 42 is shown in a home position (at the 0 stepped position). This position corresponds to the initiation of a pump cycle. Note that plunger 42 is in contact with the elastic membrane of pumping chamber 30, causing a slight deflection of the membrane. At the beginning of a pump cycle, outlet valve 32 is closed, inlet valve 28 is open, supply valve 20 is in the open position, and pumping chamber 30 is filled with the appropriate amount of medicinal fluid.
The user of a stepper motor enables the infusion pump to provide a wide range of delivery rates, making the device especially well suited for use in administering fluid to pediatric patients at extremely low medicinal fluid delivery rates. For example, this infusion pump can supply a controlled rate of medicinal fluid at rates as low as 100 .mu.l/hr. This rate is achieved by stepping the stepper motor once approximately every 70 seconds, so that each step delivers 2 .mu.l of medicinal fluid to the patient.
The overall size of the foregoing infusion pump is quite small, and the pump can be operated with power provided by a storage battery. Therefore, it is very important that the drive system be as efficient as possible. Furthermore, since the device is used in close proximity to patients, it is important that the drive system be very quiet. Accordingly, it is desired to provide a stepper motor drive scheme suitable for use with an infusion pump and other devices that is both highly efficient and produces minimal ringing when the stepping motor is operating at very slow speeds.